In a client-server environment, a client and server may communicate using application layer protocols and session layer protocols over various transport layer connections. Multiplexing such protocols over a connection can be challenging.